package 行为型模式.备忘录模式.黑箱备忘录模式;

public class Client {
    public static void main(String[] args) {
        System.out.println("———————————————before———————————————————");
        //创建游戏角色对象
        GameRole gameRole=new GameRole();
        gameRole.initState();//初始化状态操作
        gameRole.StateDisplay();

        //将该游戏角色内部状态进行备份
        //创建管理者对象
        RoleStateCareTaker roleStateCareTaker=new RoleStateCareTaker();
        roleStateCareTaker.setMemento(gameRole.saveState());

        System.out.println("——————————————after————————————————————");
        gameRole.fight();
        gameRole.StateDisplay();

        System.out.println("—————————————恢复之前状态————————————————");
        gameRole.recoverState(roleStateCareTaker.getMemento());
        gameRole.StateDisplay();
    }
}
